home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 4 / FM Towns Free Software Collection 4 - Disc 1.iso / t_os / binex / binex.c next >
Text File  |  1991-10-18  |  2KB  |  68 lines

  1. pragma Ipath("a:/inc/");
  2. #include <stdio.h>
  3.  
  4. #define BEGIN      {
  5. #define END        }
  6. #define IF         if(
  7. #define THEN       ){
  8. #define ELSE       }else{
  9. #define ELSEIF     }else{if( 
  10. #define ENDIF      }
  11. #define WHILE      while(
  12. #define DO         ){
  13. #define FOR        for(
  14. #define TO         ;
  15. #define BY         ;
  16. #define LOOP       for(;;){
  17. #define ENDWHILE   }
  18. #define REPEAT     do{
  19. #define UNTIL(s)   }while(s);
  20. #define SWITCH(s)  switch(s){
  21. #define CASE(s)    case(s):
  22. #define DEFAULT    default:
  23. #define BREAK      break;
  24. #define ENDSWITCH  }
  25. #define RETURN(s)  return(s);
  26. #define FUNCTION   int
  27. #define MODULE     void
  28. #define OR         ||
  29. #define AND        &&
  30. #define NOT        !
  31. #define EQU        ==
  32. #define NEQ        !=
  33. #define MODULE     void
  34. #define ON         0xFF
  35. #define OFF        0x00
  36. #define TAB        0x09
  37. #define LF         0x0A
  38. #define CR         0x0D
  39. #define BLANK      0x20
  40. #define COMMA      0x2C
  41. #define ZERO       0x00
  42.  
  43. MODULE main(argc,argv)
  44. int         argc;
  45. char            *argv[];
  46. BEGIN
  47.   unsigned char buffer[16],Check;
  48.   FILE *fp[2];
  49.   int i,Byte_Count,Byte_Size;
  50.  
  51.   Byte_Count = 0;
  52.   fp[0] = fopen(argv[1],"r");
  53.   WHILE (Byte_Size = fread(buffer,1,16,fp[0])) NEQ ZERO DO
  54.     i = Check = 0;
  55.     printf("S1%02X%04X",Byte_Size + 5,Byte_Count);
  56.     WHILE i < Byte_Size DO
  57.       Check = Check + buffer[i];
  58.       printf("%02X",buffer[i++]);
  59.     ENDWHILE
  60.     Check = Check + Byte_Count / 0x100 & 0xFF;
  61.     Check = Check + Byte_Count         & 0xFF;
  62.     Check = Check + Byte_Size + 5;
  63.     Byte_Count = Byte_Count + 0x10;
  64.     printf("%02X\n",0xFF - Check);
  65.   ENDWHILE
  66.   fclose(fp[0]);
  67. END
  68.